package Pstatic;
//静态变量（static,java中的一个修饰符，可以修饰成员变量，成员方法）
//静态变量属于类，不属于对象
//static修饰的变量叫做静态变量

//特点：
//1. 静态变量属于类，不属于对象
//2. 静态变量在类加载的时候就会初始化
//3. 静态变量在内存中只有一份
//4. 静态变量可以通过类名来访问，也可以通过对象来访问
//5. 静态变量的生命周期是整个程序的生命周期
//6. 静态变量的作用是共享数据
//10. 静态变量的访问修饰符可以是任意的，但是一般都是public

// 静态方法（多用在测试类和工具类）
//被static修饰的方法叫做静态方法
//特点：
//1. 静态方法属于类，不属于对象
//2. 静态方法在类加载的时候就会初始化
//3. 静态方法在内存中只有一份
//4. 静态方法可以通过类名来访问，也可以通过对象来访问
//5. 静态方法的生命周期是整个程序的生命周期
//6. 静态方法的作用是共享数据
//10. 静态方法的访问修饰符可以是任意的，但是一般都是public

// 静态代码块
//被static修饰的代码叫做静态代码块
//特点：
//1. 静态代码块属于类，不属于对象
//2. 静态代码块在类加载的时候就会初始化
//3. 静态代码块在内存中只有一份
//4. 静态代码块可以通过类名来访问，也可以通过对象来访问
//5. 静态代码块的生命周期是整个程序的生命周期
//6. 静态代码块的作用是初始化数据
//10. 静态代码块的访问修饰符可以是任意的，但是一般都是public


//在静态方法中没有this
//在静态方法中不能访问非静态的成员变量和成员方法
//在静态方法中不能使用super和this
//在静态方法中不能使用new
//在静态方法中不能使用static
public class StaticTest1 {
    public static void main(String[] args) {
        Student s1 = new Student("张三", 18, new int[]{90, 80, 70});
        Student s2 = new Student("李四", 19, new int[]{80, 70, 60});
        Student s3 = new Student("王五", 20, new int[]{70, 60, 50});
    }
}